package com.internetCafes.spms.web.certificate.model.certificate.base;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import java.util.Date;

/**
 * 证书请求基本信息
 * @author Zj
 * @date 2022/1/4 17:38
 */
@Data
public class CertificateModel {

    /**
     * 证书表id
     */
    private Long id;

    /**
     * 证书类型 1在职员工,2挂靠，3非在职员工
     */
    private Integer certificateType;

    /**
     * 员工ID
     */
    private Long employeeId;

    /**
     * 证书类型大类
     */
    private String pIdType;

    /**
     * 证书类型小类
     */
    private String idType;

    /**
     * 专业
     */
    private String profession;

    /**
     * 挂入人
     */
    private Long affiliationEmployee;

    /**
     * 注册类型
     */
    private Integer registerType;

    /**
     * 证书名称
     */
    private String certificateName;

    /**
     * 证书配置ID
     */
    private Long certificateConfId;

    /**
     * 证书号
     */
    private String certificateNo;

    /**
     * 执业证书号
     */
    private String certifiedNo;

    /**
     * 发证日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date releaseTime;

    /**
     * 有效期结束时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date validityEndTime;

    /**
     * 1长期有效,0非长期有效
     */
    private Integer longTerm;

    /**
     * 借入时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date borrowTime;

    /**
     * 借入到期时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date borrowEndTime;

    /**
     * 借入来源
     */
    private Integer borrowCandidatesSources;

    /**
     * 借入来源单位
     */
    private String borrowOrgName;

    /**
     * 借入联系人
     */
    private String borrowContact;

    /**
     * 借入联系人关系
     */
    private String borrowContactRelationship;

    /**
     * 借入联系电话
     */
    private String borrowContactMobile;

    /**
     * 最初保管单位ID
     */
    private Long oriKeepDeptId;

    /**
     * 最初保管单位名称
     */
    private String oriKeepDeptName;

    /**
     * 最初保管人ID
     */
    private Long oriKeepUserId;

    /**
     * 最初保管人姓名
     */
    private String oriKeepUserName;

    /**
     * 联系电话
     */
    private String oriKeepContactMobile;

    /**
     * 保管单位ID
     */
    private Long keepDeptId;

    /**
     * 保管单位名称
     */
    private String keepDeptName;

    /**
     * 保管人ID
     */
    private Long keepUserId;

    /**
     * 保管人姓名
     */
    private String keepUserName;

    /**
     * 保管联系电话
     */
    private String keepContactMobile;

    /**
     * 延期次数
     */
    private Integer renewalNum;

    /**
     * 延期时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date renewalTime;

    /**
     * 备注信息
     */
    private String remark;

    /**
     * 状态:-1删除,0空闲,1挂出,21投标,22项目
     */
    private Integer status;

    /**
     * 返还时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date returnTime;

    /**
     * 创建者
     */
    private Long createBy;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date createTime;

    /**
     * 更新人
     */
    private Long updateBy;

    /**
     * 更新时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date updateTime;

    /**
     * 考试时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date examTime;

    /**
     * 考试地点
     */
    private String examLocation;

    /**
     * 考试成绩
     */
    private Integer examGrade;

    /**
     * 人才费用
     */
    private double affiliationExpend;

    /**
     * 是否通过中介:1是,0否
     */
    private Integer agencyFlag;

    /**
     * 中介名称
     */
    private String agencyName;

    /**
     * 中介费用
     */
    private double examAgencyFee;

    /**
     * 考试是否通过中介:1是,0否
     */
    private Integer examAgencyFlag;

    /**
     * 考试中介名称
     */
    private String examAgencyName;

    /**
     * 考试中介费用
     */
    private double agencyFee;

    /**
     * 考试费用
     */
    private double examFee;

    /**
     * 其他费用
     */
    private double otherFee;

    /**
     * 费用备注
     */
    private String feeRemark;

    /**
     * 总费用
     */
    private Double totalFee;

    /**
     * 是否已经支付:1是,0否
     */
    private Integer payFlag;

    /**
     * 支付时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date payTime;

    /**
     * 作废说明
     */
    private String enableRemark;

    /**
     * 在职员工关联
     */
    private Long friendshipEmployeeId;

    /**
     * 是否长期持有 0-否(默认) 1-是
     */
    private Integer longTermHoldingFlag;

    /**
     * 租户id t_tenant_info
     */
    private Long tenantId;

    /**
     * 是否交税:1税前,0税后
     */
    private Integer tax;

}
